home *** CD-ROM | disk | FTP | other *** search
- /* You can distribute this header with your plugins for easy compilation */
- #ifndef XCHAT_PLUGIN_H
- #define XCHAT_PLUGIN_H
-
- #include <time.h>
-
- #define XCHAT_IFACE_MAJOR 1
- #define XCHAT_IFACE_MINOR 9
- #define XCHAT_IFACE_MICRO 11
- #define XCHAT_IFACE_VERSION ((XCHAT_IFACE_MAJOR * 10000) + \
- (XCHAT_IFACE_MINOR * 100) + \
- (XCHAT_IFACE_MICRO))
-
- #define XCHAT_PRI_HIGHEST 127
- #define XCHAT_PRI_HIGH 64
- #define XCHAT_PRI_NORM 0
- #define XCHAT_PRI_LOW (-64)
- #define XCHAT_PRI_LOWEST (-128)
-
- #define XCHAT_FD_READ 1
- #define XCHAT_FD_WRITE 2
- #define XCHAT_FD_EXCEPTION 4
- #define XCHAT_FD_NOTSOCKET 8
-
- #define XCHAT_EAT_NONE 0 /* pass it on through! */
- #define XCHAT_EAT_XCHAT 1 /* don't let xchat see this event */
- #define XCHAT_EAT_PLUGIN 2 /* don't let other plugins see this event */
- #define XCHAT_EAT_ALL (XCHAT_EAT_XCHAT|XCHAT_EAT_PLUGIN) /* don't let anything see this event */
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- typedef struct _xchat_plugin xchat_plugin;
- typedef struct _xchat_list xchat_list;
- typedef struct _xchat_hook xchat_hook;
- #ifndef PLUGIN_C
- typedef struct _xchat_context xchat_context;
- #endif
-
- #ifndef PLUGIN_C
- struct _xchat_plugin
- {
- /* these are only used on win32 */
- xchat_hook *(*xchat_hook_command) (xchat_plugin *ph,
- const char *name,
- int pri,
- int (*callback) (char *word[], char *word_eol[], void *user_data),
- const char *help_text,
- void *userdata);
- xchat_hook *(*xchat_hook_server) (xchat_plugin *ph,
- const char *name,
- int pri,
- int (*callback) (char *word[], char *word_eol[], void *user_data),
- void *userdata);
- xchat_hook *(*xchat_hook_print) (xchat_plugin *ph,
- const char *name,
- int pri,
- int (*callback) (char *word[], void *user_data),
- void *userdata);
- xchat_hook *(*xchat_hook_timer) (xchat_plugin *ph,
- int timeout,
- int (*callback) (void *user_data),
- void *userdata);
- xchat_hook *(*xchat_hook_fd) (xchat_plugin *ph,
- int fd,
- int flags,
- int (*callback) (int fd, int flags, void *user_data),
- void *userdata);
- void *(*xchat_unhook) (xchat_plugin *ph,
- xchat_hook *hook);
- void (*xchat_print) (xchat_plugin *ph,
- const char *text);
- void (*xchat_printf) (xchat_plugin *ph,
- const char *format, ...);
- void (*xchat_command) (xchat_plugin *ph,
- const char *command);
- void (*xchat_commandf) (xchat_plugin *ph,
- const char *format, ...);
- int (*xchat_nickcmp) (xchat_plugin *ph,
- const char *s1,
- const char *s2);
- int (*xchat_set_context) (xchat_plugin *ph,
- xchat_context *ctx);
- xchat_context *(*xchat_find_context) (xchat_plugin *ph,
- const char *servname,
- const char *channel);
- xchat_context *(*xchat_get_context) (xchat_plugin *ph);
- const char *(*xchat_get_info) (xchat_plugin *ph,
- const char *id);
- int (*xchat_get_prefs) (xchat_plugin *ph,
- const char *name,
- const char **string,
- int *integer);
- xchat_list * (*xchat_list_get) (xchat_plugin *ph,
- const char *name);
- void (*xchat_list_free) (xchat_plugin *ph,
- xchat_list *xlist);
- const char * const * (*xchat_list_fields) (xchat_plugin *ph,
- const char *name);
- int (*xchat_list_next) (xchat_plugin *ph,
- xchat_list *xlist);
- const char * (*xchat_list_str) (xchat_plugin *ph,
- xchat_list *xlist,
- const char *name);
- int (*xchat_list_int) (xchat_plugin *ph,
- xchat_list *xlist,
- const char *name);
- void * (*xchat_plugingui_add) (xchat_plugin *ph,
- const char *filename,
- const char *name,
- const char *desc,
- const char *version,
- char *reserved);
- void (*xchat_plugingui_remove) (xchat_plugin *ph,
- void *handle);
- int (*xchat_emit_print) (xchat_plugin *ph,
- const char *event_name, ...);
- int (*xchat_read_fd) (xchat_plugin *ph,
- void *src,
- char *buf,
- int *len);
- time_t (*xchat_list_time) (xchat_plugin *ph,
- xchat_list *xlist,
- const char *name);
- char *(*xchat_gettext) (xchat_plugin *ph,
- const char *msgid);
- void (*xchat_send_modes) (xchat_plugin *ph,
- const char **targets,
- int ntargets,
- int modes_per_line,
- char sign,
- char mode);
- char *(*xchat_strip) (xchat_plugin *ph,
- const char *str,
- int len,
- int flags);
- void (*xchat_free) (xchat_plugin *ph,
- void *ptr);
- };
- #endif
-
-
- xchat_hook *
- xchat_hook_command (xchat_plugin *ph,
- const char *name,
- int pri,
- int (*callback) (char *word[], char *word_eol[], void *user_data),
- const char *help_text,
- void *userdata);
-
- xchat_hook *
- xchat_hook_server (xchat_plugin *ph,
- const char *name,
- int pri,
- int (*callback) (char *word[], char *word_eol[], void *user_data),
- void *userdata);
-
- xchat_hook *
- xchat_hook_print (xchat_plugin *ph,
- const char *name,
- int pri,
- int (*callback) (char *word[], void *user_data),
- void *userdata);
-
- xchat_hook *
- xchat_hook_timer (xchat_plugin *ph,
- int timeout,
- int (*callback) (void *user_data),
- void *userdata);
-
- xchat_hook *
- xchat_hook_fd (xchat_plugin *ph,
- int fd,
- int flags,
- int (*callback) (int fd, int flags, void *user_data),
- void *userdata);
-
- void *
- xchat_unhook (xchat_plugin *ph,
- xchat_hook *hook);
-
- void
- xchat_print (xchat_plugin *ph,
- const char *text);
-
- void
- xchat_printf (xchat_plugin *ph,
- const char *format, ...);
-
- void
- xchat_command (xchat_plugin *ph,
- const char *command);
-
- void
- xchat_commandf (xchat_plugin *ph,
- const char *format, ...);
-
- int
- xchat_nickcmp (xchat_plugin *ph,
- const char *s1,
- const char *s2);
-
- int
- xchat_set_context (xchat_plugin *ph,
- xchat_context *ctx);
-
- xchat_context *
- xchat_find_context (xchat_plugin *ph,
- const char *servname,
- const char *channel);
-
- xchat_context *
- xchat_get_context (xchat_plugin *ph);
-
- const char *
- xchat_get_info (xchat_plugin *ph,
- const char *id);
-
- int
- xchat_get_prefs (xchat_plugin *ph,
- const char *name,
- const char **string,
- int *integer);
-
- xchat_list *
- xchat_list_get (xchat_plugin *ph,
- const char *name);
-
- void
- xchat_list_free (xchat_plugin *ph,
- xchat_list *xlist);
-
- const char * const *
- xchat_list_fields (xchat_plugin *ph,
- const char *name);
-
- int
- xchat_list_next (xchat_plugin *ph,
- xchat_list *xlist);
-
- const char *
- xchat_list_str (xchat_plugin *ph,
- xchat_list *xlist,
- const char *name);
-
- int
- xchat_list_int (xchat_plugin *ph,
- xchat_list *xlist,
- const char *name);
-
- time_t
- xchat_list_time (xchat_plugin *ph,
- xchat_list *xlist,
- const char *name);
-
- void *
- xchat_plugingui_add (xchat_plugin *ph,
- const char *filename,
- const char *name,
- const char *desc,
- const char *version,
- char *reserved);
-
- void
- xchat_plugingui_remove (xchat_plugin *ph,
- void *handle);
-
- int
- xchat_emit_print (xchat_plugin *ph,
- const char *event_name, ...);
-
- char *
- xchat_gettext (xchat_plugin *ph,
- const char *msgid);
-
- void
- xchat_send_modes (xchat_plugin *ph,
- const char **targets,
- int ntargets,
- int modes_per_line,
- char sign,
- char mode);
-
- char *
- xchat_strip (xchat_plugin *ph,
- const char *str,
- int len,
- int flags);
-
- void
- xchat_free (xchat_plugin *ph,
- void *ptr);
-
- #if !defined(PLUGIN_C) && defined(WIN32)
- #ifndef XCHAT_PLUGIN_HANDLE
- #define XCHAT_PLUGIN_HANDLE (ph)
- #endif
- #define xchat_hook_command ((XCHAT_PLUGIN_HANDLE)->xchat_hook_command)
- #define xchat_hook_server ((XCHAT_PLUGIN_HANDLE)->xchat_hook_server)
- #define xchat_hook_print ((XCHAT_PLUGIN_HANDLE)->xchat_hook_print)
- #define xchat_hook_timer ((XCHAT_PLUGIN_HANDLE)->xchat_hook_timer)
- #define xchat_hook_fd ((XCHAT_PLUGIN_HANDLE)->xchat_hook_fd)
- #define xchat_unhook ((XCHAT_PLUGIN_HANDLE)->xchat_unhook)
- #define xchat_print ((XCHAT_PLUGIN_HANDLE)->xchat_print)
- #define xchat_printf ((XCHAT_PLUGIN_HANDLE)->xchat_printf)
- #define xchat_command ((XCHAT_PLUGIN_HANDLE)->xchat_command)
- #define xchat_commandf ((XCHAT_PLUGIN_HANDLE)->xchat_commandf)
- #define xchat_nickcmp ((XCHAT_PLUGIN_HANDLE)->xchat_nickcmp)
- #define xchat_set_context ((XCHAT_PLUGIN_HANDLE)->xchat_set_context)
- #define xchat_find_context ((XCHAT_PLUGIN_HANDLE)->xchat_find_context)
- #define xchat_get_context ((XCHAT_PLUGIN_HANDLE)->xchat_get_context)
- #define xchat_get_info ((XCHAT_PLUGIN_HANDLE)->xchat_get_info)
- #define xchat_get_prefs ((XCHAT_PLUGIN_HANDLE)->xchat_get_prefs)
- #define xchat_list_get ((XCHAT_PLUGIN_HANDLE)->xchat_list_get)
- #define xchat_list_free ((XCHAT_PLUGIN_HANDLE)->xchat_list_free)
- #define xchat_list_fields ((XCHAT_PLUGIN_HANDLE)->xchat_list_fields)
- #define xchat_list_str ((XCHAT_PLUGIN_HANDLE)->xchat_list_str)
- #define xchat_list_int ((XCHAT_PLUGIN_HANDLE)->xchat_list_int)
- #define xchat_list_time ((XCHAT_PLUGIN_HANDLE)->xchat_list_time)
- #define xchat_list_next ((XCHAT_PLUGIN_HANDLE)->xchat_list_next)
- #define xchat_plugingui_add ((XCHAT_PLUGIN_HANDLE)->xchat_plugingui_add)
- #define xchat_plugingui_remove ((XCHAT_PLUGIN_HANDLE)->xchat_plugingui_remove)
- #define xchat_emit_print ((XCHAT_PLUGIN_HANDLE)->xchat_emit_print)
- #define xchat_gettext ((XCHAT_PLUGIN_HANDLE)->xchat_gettext)
- #define xchat_send_modes ((XCHAT_PLUGIN_HANDLE)->xchat_send_modes)
- #define xchat_strip ((XCHAT_PLUGIN_HANDLE)->xchat_strip)
- #define xchat_free ((XCHAT_PLUGIN_HANDLE)->xchat_free)
- #endif
-
- #ifdef __cplusplus
- }
- #endif
- #endif
-